本节适用于Linux和macOS等类Unix系统上的VeraCrypt。Windows命令行语法另见Windows命令行使用。
要在终端中显示已安装VeraCrypt构建的命令行帮助,请运行:
veracrypt -t --help
-t或--text选项选择文本用户界面,且必须指定为第一个参数。不带-t时,如果图形用户界面可用,veracrypt --help可能会显示图形帮助窗口。
veracrypt [OPTIONS] COMMAND
veracrypt [OPTIONS] VOLUME_PATH [MOUNT_DIRECTORY]
如果未明确指定命令但给出了卷路径,VeraCrypt会挂载该卷。省略MOUNT_DIRECTORY时,VeraCrypt使用默认挂载目录。
| --auto-mount=devices|favorites | 自动挂载设备托管卷、常用卷,或以逗号组合这两个值来挂载两者。 |
| --backup-headers [VOLUME_PATH] | 将卷头备份到文件。命令行中未指定的必需值将向用户询问。 |
| -c 或 --create [VOLUME_PATH] | 创建新卷。命令行中未指定的大多数值将向用户询问。另请参阅--encryption、--filesystem、--hash、--keyfiles、--password、--pim、--random-source、--quick、--size和--volume-type。 |
| --create-keyfile [FILE_PATH] | 创建包含伪随机数据的新密钥文件。 |
| -C 或 --change [VOLUME_PATH] | 更改卷的密码、PIM、密钥文件和/或头密钥推导算法。另请参阅--hash、--new-hash、--new-keyfiles、--new-password、--new-pim、--password、--pim和--random-source。 |
| -u 或 --unmount [MOUNTED_VOLUME] -d 或 --dismount [MOUNTED_VOLUME] |
卸载已挂载的卷。如果未指定已挂载的卷,则卸载所有已挂载的VeraCrypt卷。--dismount已弃用;请使用--unmount。 |
| --delete-token-keyfiles | 从安全令牌中删除密钥文件。 |
| --export-token-keyfile | 从安全令牌中导出密钥文件。 |
| --import-token-keyfiles | 将密钥文件导入安全令牌。另请参阅--token-lib。 |
| -l 或 --list [MOUNTED_VOLUME] | 显示已挂载的卷。默认仅显示卷路径、虚拟设备和挂载点。使用--verbose可查看详细信息。 |
| --list-token-keyfiles | 显示所有可用的令牌密钥文件。 |
| --list-securitytoken-keyfiles | 显示所有可用的安全令牌密钥文件。 |
| --list-emvtoken-keyfiles | 显示所有可用的EMV令牌密钥文件。 |
| --mount [VOLUME_PATH] | 以交互方式挂载卷。卷路径和缺少的选项将向用户询问。 |
| --restore-headers [VOLUME_PATH] | 从内置备份卷头或外部备份文件中恢复卷头。 |
| --save-preferences | 保存用户首选项。 |
| --test | 测试加密和解密过程中使用的内部算法。 |
| --version | 显示VeraCrypt版本信息。 |
| --volume-properties [MOUNTED_VOLUME] | 显示已挂载卷的属性。 |
可使用以下任一形式指定已挂载的卷:
| --allow-insecure-mount | 允许将卷挂载到用户PATH中的挂载点。 |
| --allow-screencapture | 允许在屏幕截图和屏幕录制中包含VeraCrypt窗口。此选项适用于macOS构建。 |
| --background-task | 启动VeraCrypt后台任务。 |
| --display-password | 输入时显示密码字符。 |
| --encryption=ENCRYPTION_ALGORITHM | 创建新卷时使用指定的加密算法。对于级联算法,请使用VeraCrypt显示的算法名称,例如AES-Twofish。 |
| --explore | 挂载卷后打开文件管理器窗口。 |
| --filesystem=TYPE | 要挂载或创建的文件系统类型。挂载时,此类型将传递给系统挂载命令。none禁用文件系统挂载或创建。在Linux上,ntfs3指定使用内核中的ntfs3驱动程序并绕过挂载辅助程序,而kernel-ntfs选择可用的内核NTFS驱动程序(ntfs或ntfs3)。这些Linux驱动程序选择器仅用于挂载;创建新的NTFS卷时请使用NTFS。支持创建的类型取决于平台:Linux支持FAT、Ext2、Ext3、Ext4、NTFS、exFAT和Btrfs;macOS支持FAT、HFS/HFS+/MacOsExt、exFAT和APFS;FreeBSD和Solaris构建支持FAT和UFS。创建非FAT文件系统需要可用的相应系统格式化工具。 |
| -f 或 --force | 强制挂载正在使用的卷、卸载正在使用的卷或覆盖文件。具体效果取决于操作系统。 |
| --fs-options=OPTIONS | 通过-o传递给系统挂载命令的文件系统挂载选项。此选项可用于Linux及其他支持它的类Unix构建,但不适用于macOS。要防止对解密设备进行写入,请使用--mount-options=ro;仅设置文件系统选项--fs-options=ro仍可能允许日志恢复写入。 |
| --hash=HASH | 挂载、创建卷或更改密码/密钥文件时使用指定的头密钥推导算法。适用时,此选项还指定随机数生成器的混合哈希算法。 |
| -h 或 --help | 显示详细的命令行帮助。 |
| -k KEYFILE1[,KEYFILE2,...] 或 --keyfiles=KEYFILE1[,KEYFILE2,...] | 使用指定的密钥文件。指定目录时,将使用其中的所有文件,但不递归处理子目录。密钥文件名中的逗号需写为两个逗号(,,)。安全令牌中的密钥文件可指定为token://slot/SLOT_NUMBER/file/FILENAME;EMV令牌密钥文件可指定为emv://slot/SLOT_NUMBER。使用-k ""可禁用交互式密钥文件提示。 |
| --legacy-password-maxlength | 使用旧版最大密码长度,即64个UTF-8字节。 |
| --load-preferences | 在处理命令行选项前加载用户首选项,使命令行选项可以覆盖首选项。 |
| -m OPTION1[,OPTION2,...] 或 --mount-options=OPTION1[,OPTION2,...] | 设置VeraCrypt卷挂载选项。支持的选项为headerbak、nokernelcrypto、readonly或ro、system,以及timestamp或ts。在Linux上,检测到NTFS且未指定文件系统类型时,kernelntfs会为当前挂载启用内核NTFS驱动程序选择。只读保护同时适用于解密设备和文件系统。需要进行日志恢复写入的文件系统可能拒绝以只读方式挂载。 |
| --new-hash=HASH | 更改卷密码或密钥文件时设置新的头密钥推导算法。此选项与--change一起使用。 |
| --new-keyfiles=KEYFILE1[,KEYFILE2,...] | 更改卷密码或密钥文件时设置新的密钥文件。此选项与--change一起使用。 |
| --new-password=PASSWORD | 更改卷密码或密钥文件时设置新密码。此选项与--change一起使用。 |
| --new-pim=PIM | 更改卷密码或密钥文件时设置新的PIM。此选项与--change一起使用。 |
| --no-size-check | 禁用对请求的容器大小与磁盘可用空间的比较检查。 |
| --non-interactive | 不与用户交互。此选项仅在文本模式下受支持。 |
| -p PASSWORD 或 --password=PASSWORD | 使用指定的密码挂载或打开卷。可用-p ""指定空密码。 |
| --pim=PIM | 使用指定的PIM挂载或打开卷。 |
| --protect-hidden=yes|no | 挂载外部卷时对隐藏卷进行写保护。启用后,VeraCrypt会使用隐藏卷凭据确定隐藏区域并防止写入该区域。 |
| --protection-hash=HASH | 为由--protect-hidden=yes保护的隐藏卷使用指定的头密钥推导算法。 |
| --protection-keyfiles=KEYFILE1[,KEYFILE2,...] | 为由--protect-hidden=yes保护的隐藏卷使用指定的密钥文件。 |
| --protection-password=PASSWORD | 为由--protect-hidden=yes保护的隐藏卷使用指定的密码。 |
| --protection-pim=PIM | 为由--protect-hidden=yes保护的隐藏卷使用指定的PIM。 |
| --quick | 创建普通文件托管卷或设备托管卷时启用快速格式化。创建外部卷时不要使用此选项。在文本模式下,VeraCrypt无法推断普通卷是否将用作外部卷。对于文件容器,快速格式化可能在宿主文件系统中创建稀疏或未写入区域。空间分配行为取决于宿主文件系统对稀疏文件的支持,如果宿主文件系统空间耗尽,后续写入可能失败。 |
| --random-source=FILE | 使用指定文件作为随机数据源,例如在创建卷时。 |
| --slot=SLOT | 挂载、卸载、列出卷或显示卷属性时使用指定的槽位号。 |
| --size=SIZE[K|KiB|M|MiB|G|GiB|T|TiB] 或 --size=max | 创建新卷时使用指定的大小。如果未指定后缀,则以字节为单位。max使用全部可用空间。 |
| --stdin | 从标准输入读取密码。此选项只能与--non-interactive一起使用,不能与--password组合使用。密码为第一行;末尾的换行符可以省略,回车符或NUL字节则属于密码的一部分。输入按照当前区域设置(LC_CTYPE)的字符集解码,然后转换为UTF-8作为卷密码。空行表示空密码(仅使用密钥文件)。对于使用密码的命令,缺少输入、输入不符合该字符集的编码,或一行超过密码允许的最大长度,均会报错。 |
| -t 或 --text | 使用文本用户界面。此选项必须指定为第一个参数。 |
| --token-lib=LIB_PATH | 使用指定的PKCS #11安全令牌库。 |
| --token-pin=PIN | 使用指定的安全令牌PIN码。 |
| --use-dummy-sudo-password | 在sudo中使用虚拟密码,以检测sudo是否已通过身份验证。此选项可用于Linux和FreeBSD构建。 |
| -v 或 --verbose | 启用详细输出。 |
| --volume-type=normal|hidden | 创建新卷时使用指定的卷类型。 |
在命令行中传递密码、PIM、令牌PIN码或隐藏卷保护密码可能不安全,因为命令行参数可能在进程列表、shell历史记录或系统日志中可见。请尽可能让VeraCrypt以交互方式提示输入敏感值,或在适用时将--stdin与--non-interactive一起使用。用户还必须遵守安全要求和预防措施中列出的要求。
使用文本用户界面创建新卷:
veracrypt -t -c
挂载卷:
veracrypt volume.hc /media/veracrypt1
使用密钥文件以只读方式挂载卷:
veracrypt -m ro -k keyfile1,keyfile2 volume.hc /media/veracrypt1
挂载卷而不挂载其文件系统:
veracrypt --filesystem=none volume.hc
使用Linux内核NTFS驱动程序挂载NTFS卷:
veracrypt -t --filesystem=kernel-ntfs volume.hc /media/veracrypt1
挂载卷时仅提示输入密码:
veracrypt -t -k "" --pim=0 --protect-hidden=no volume.hc /media/veracrypt1
以非交互方式挂载卷,并从标准输入读取密码:
printf '%s\n' "$VERACRYPT_PASSWORD" | veracrypt -t --non-interactive --stdin --pim=0 --protect-hidden=no volume.hc /media/veracrypt1
列出已挂载卷的详细信息:
veracrypt -t -v --list
卸载卷:
veracrypt -u volume.hc
卸载所有已挂载的VeraCrypt卷:
veracrypt -u
经验不足的用户应使用图形用户界面创建隐藏卷。使用文本用户界面时,必须遵循以下步骤:
如果在任何步骤触发隐藏卷保护,请从第一步重新开始。